///*******************************************************************************
// * Copyright (c) 2004, 2005 IBM Corporation and others.
// * All rights reserved. This program and the accompanying materials
// * are made available under the terms of the Eclipse Public License v1.0
// * which accompanies this distribution, and is available at
// * http://www.eclipse.org/legal/epl-v10.html
// *
// * Contributors:
// *     IBM Corporation - initial API and implementation
// *******************************************************************************/
//package org.eclipse.ui.tests.dnd;
//
//import org.eclipse.ui.IViewPart;
//import org.eclipse.ui.IViewReference;
//import org.eclipse.ui.internal.dnd.TestDropLocation;
//import org.eclipse.ui.tests.autotests.AbstractTestLogger;
//
//
///**
// * This class is used as test entries for 'Detached Window' tests (i.e. where the drop target is
// * in a detached window. It's 'doSetup' augments the base behaviour by 'detaching' a stack containing
// * two 'mock' views and separately detaching an individual view, making them appropriate drop targets
// * for these tests.
// * <p>
// * In some cases the sources and targets may overlap with non-detached tests so in order to avoid
// * name clashes in the tests we add a suffix, "(Detached)", to the test's 'name' when the target is
// * 'Detached'.  
// * <p>
// * @since 3.1
// *
// */
//public class DetachedWindowDragTest	extends DragTest {
//	
//	public DetachedWindowDragTest(TestDragSource dragSource,
//			TestDropLocation dropTarget, AbstractTestLogger log) {
//		super(dragSource, dropTarget, log, " - detached");
//	}
//    
//    public void doSetUp() throws Exception {
//    	super.doSetUp();
//    	
//    	// First, show all the necessary views (note that we show view '2' first, this should
//    	// make view '1' the active view in the folder
//    	page.showView(DragDropPerspectiveFactory.dropViewId2);
//    	page.showView(DragDropPerspectiveFactory.dropViewId1);
//    	page.showView(DragDropPerspectiveFactory.dropViewId3);
//    	
//    	// Since we cannot yet 'detach' a view programmatically we'll have
//    	// to do it the hard way...
//    	
//    	// 'detach' the whole stack containing the Mock view 1
//    	IViewPart viewPart = page.showView(DragDropPerspectiveFactory.dropViewId1); 
//        DragOperations.drag(viewPart, new DetachedDropTarget(), true);
//    	
//    	// Now we'll 'detach' Mock view 3
//    	viewPart = page.showView(DragDropPerspectiveFactory.dropViewId3); 
//        DragOperations.drag(viewPart, new DetachedDropTarget(), false);
//    }
//
//	protected void doTearDown() throws Exception {
//		// hide detached views so they don't scare any following tests
//		
//		IViewReference view = page.findViewReference(DragDropPerspectiveFactory.dropViewId1);
//		page.attachView(view);
////		page.hideView(view.getView(false));
//		view = page.findViewReference(DragDropPerspectiveFactory.dropViewId2);
//		page.attachView(view);
////		page.hideView(view.getView(false));
//		view = page.findViewReference(DragDropPerspectiveFactory.dropViewId3);
//		page.attachView(view);
////		page.hideView(view.getView(false));
//		
//		super.doTearDown();
//	}
//}
